<?php
namespace core;

require_once 'functions.php';


class App {
    public function __construct() {
        $this->setEnv();

        $router = new Router();
        $request = new Request();
        $response = new Response();

        $router->routing($request, $response);
    }


    // php 环境配置
    private function setEnv(): void {
        // 去除 警告、通知 等输出
        error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE ^ E_STRICT ^ E_DEPRECATED);

        // 确认日志目录存在
        path_sure(PATH_LOG);

        if (APP_DEBUG) {
            ini_set('display_errors','On'); //调试模式网页显示错误信息

            $whoops = new \Whoops\Run();
            $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler());
            $whoops->register();
        } else {
            ini_set('display_errors','Off'); //线上模式网页不显示错误信息
            ini_set('log_errors', 'On'); //记录错误日志
            ini_set('error_log', PATH_LOG . 'php_errors.log'); //错误日志文件路径
        }
        ini_set('date.timezone','Asia/Shanghai'); //设置时区
    }
}
